const Router = require('koa-router')
const { authenticateToken } = require('../middleware/authMiddleware') // 导入中间件
const ArticleController = require('../controllers/article')
const router = new Router({ prefix: '/article' })

// 文章模块
router.get('/getClassifyList', ArticleController.getClassifyList) // 获取分类列表
router.post('/addArticle', authenticateToken, ArticleController.addArticle) // 添加文章（需要认证）
router.delete('/delArticle', authenticateToken, ArticleController.delArticle) // 删除文章（需要认证）
router.get('/getArticleList', ArticleController.getArticleList) // 获取文章列表
router.get('/getArticleDetail', ArticleController.getArticleDetail) // 获取文章详情
router.post('/addViewCount', authenticateToken, ArticleController.addViewCount) // 添加文章浏览量（需要认证）
router.get('/getUserArticleList', authenticateToken, ArticleController.getUserArticleList) // 获取用户文章列表（需要认证）
router.get('/getArticleStateCount', authenticateToken, ArticleController.getArticleStateCount) // 查询各个状态文章数量
router.put('/updateArticle', authenticateToken, ArticleController.updateArticle) // 修改文章（需要认证）
router.put('/revokeArticle', authenticateToken, ArticleController.revokeArticle) // 撤销发布文章（需要认证）
router.put('/revokeExamine', authenticateToken, ArticleController.revokeExamine) // 撤销审核文章（需要认证）
router.put('/applyPublish', authenticateToken, ArticleController.applyPublish) // 申请发布文章（需要认证）
router.put('/publishArticle', authenticateToken, ArticleController.publishArticle) // 发布文章（需要认证）
router.post('/commentArticle', authenticateToken, ArticleController.commentArticle) // 评论文章（需要认证）
router.get('/getCommentList', authenticateToken, ArticleController.getCommentList) // 获取文章评论列表
router.delete('/delComment', authenticateToken, ArticleController.delComment) // 删除文章评论（需要认证）
router.post('/likeArticle', authenticateToken, ArticleController.likeArticle) // 点赞文章（需要认证）
router.post('/likeComment', authenticateToken, ArticleController.likeComment) // 点赞文章评论（需要认证）
router.post('/reportComment', authenticateToken, ArticleController.reportComment) // 举报文章评论（需要认证）
router.get('/getLikeArticleState', authenticateToken, ArticleController.getLikeArticleState) // 获取文章点赞状态
router.get('/getLikeCommentState', authenticateToken, ArticleController.getLikeCommentState) // 查询用户是否给评论点赞了
router.get('/getCommentTotalCount', authenticateToken, ArticleController.getCommentTotalCount) // 获取评论总数

module.exports = router
